/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * prueba2_applet.java
 *
 * Created on Jun 22, 2011, 11:33:00 PM
 */

package prueba_applet;
import java.awt.*;
//import java.;
// import an extra class for the MouseListener
import java.awt.event.*;
/**
 *
 * @author T
 */
public class prueba2_applet extends javax.swing.JApplet implements MouseListener{
 int xpos;
 int ypos;

 // The coordinates of the rectangle we will draw.
 // It is easier to specify this here so that we can later
 // use it to see if the mouse is in that area.
 int rect1xco,rect1yco,rect1width,rect1height;

 // The variable that will tell whether or not the mouse
 // is in the applet area.
 boolean mouseEntered;

 // variable that will be true when the user clicked i the rectangle
 // the we will draw.
 boolean rect1Clicked;

    /** Initializes the applet prueba2_applet */
    @Override
    public void init() {
        try {
            java.awt.EventQueue.invokeAndWait(new Runnable() {
                public void run() {
                    initComponents();
                    rect1xco = 20;
  rect1yco = 20;
  rect1width = 100;
  rect1height = 50;

  // Add the MouseListener to your applet

                }
            });
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        addMouseListener(this);
    }

    /** This method is called from within the init() method to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 300, Short.MAX_VALUE)
        );
    }// </editor-fold>//GEN-END:initComponents

public void paint(Graphics g)
 {
  // Rectangle's color
  g.setColor(Color.green);

  g.fillRect(rect1xco,rect1yco,rect1width,rect1height);

  g.setColor(Color.red);

  // When the user clicks this will show the coordinates of the click
  // at the place of the click.
  g.drawString("("+xpos+","+ypos+")",xpos,ypos);

  // If the click was in the rectangle show this message
  if (rect1Clicked) g.drawString("You clicked in the Rectangle",20,120);
  // else this one
  else g.drawString("You clicked outside of the rectangle",20,120);

  if (mouseEntered) g.drawString("Mouse is in the applet area",20,160);
  else g.drawString("Mouse is outside the Applet area",20,160);
 }

/* These methods always have to present when you implement MouseListener

 public void mouseClicked (MouseEvent me) {}
 public void mouseEntered (MouseEvent me) {}
 public void mousePressed (MouseEvent me) {}
 public void mouseReleased (MouseEvent me) {}
 public void mouseExited (MouseEvent me) {}
*/

 // This method will be called when the mouse has been clicked.
 public void mouseClicked (MouseEvent me) {

  // Save the coordinates of the click lke this.
  xpos = me.getX();
  ypos = me.getY();

  // Check if the click was inside the rectangle area.
  if (xpos > rect1xco && xpos < rect1xco+rect1width && ypos >rect1yco &&
    ypos < rect1yco+rect1height)  rect1Clicked = true;
  // if it was not then rect1Clicked is false;
  else
   rect1Clicked = false;
  //show the results of the click
  repaint();

 }

 // This is called when the mous has been pressed
 public void mousePressed (MouseEvent me) {}

 // When it has been released
 // not that a click also calls these Mouse-Pressed and Released.
 // since they are empty nothing hapens here.
 public void mouseReleased (MouseEvent me) {}

 // This is executed when the mouse enters the applet. it will only
 // be executed again when the mouse has left and then re-entered.
 public void mouseEntered (MouseEvent me) {
  // Will draw the "inside applet message"
  mouseEntered = true;
  repaint();
 }

 // When the Mouse leaves the applet.
 public void mouseExited (MouseEvent me) {
  // will draw the "outside applet message"
  mouseEntered = false;
  repaint();
 }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    // End of variables declaration//GEN-END:variables

}
